﻿#region Copyright (c) 2008 plexBB Team

/*  Copyright (c) 2008 plexBB Team
 *  
 *  This file is free software: you may copy, redistribute and/or modify it  
 *  under the terms of the GNU General Public License as published by the  
 *  Free Software Foundation, either version 2 of the License, or (at your  
 *  option) any later version.  
 *  
 *  This file is distributed in the hope that it will be useful, but  
 *  WITHOUT ANY WARRANTY; without even the implied warranty of  
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  
 *  General Public License for more details.  
 *  
 *  You should have received a copy of the GNU General Public License  
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>. 
 */

#endregion

using System;
using System.Linq;
using PlexBB.Data;

namespace PlexBB.Controls.Admin.ForumManagement
{
    public abstract class AcpForumControlBase : AcpControlBase
    {
        protected int? ParentForumID { get; private set; }
        protected Forum ParentForum { get; private set; }

        protected override void OnInit(EventArgs e)
        {
            // set ParentForum/ParentForumID
            if (Request.QueryString["pid"] != null)
            {
                ParentForum = Data.Forums.SingleOrDefault(f => f.ForumID == int.Parse(Request.QueryString["pid"]));
                ParentForumID = ParentForum.ForumID;
            }

            base.OnInit(e);
        }

        protected string CreateUrl(int? parentForumID, int? editForumID, string forumName)
        {
            return PlexBB.ResolveActionUrl("acp", "mid", CurrentModule.ModuleID, "pid", parentForumID, "eid", editForumID, "n", forumName);
        }
    }
}